<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>商品列表</title>
  <style>
    div{
      text-align: center;
      background-color: beige;
      margin: 0 auto;
      padding: 30px;
    }
  </style>
</head>
<body>
<div>
  <h1>商品列表</h1>
  <table border="1" style="margin: 0 auto">
    <tr>
      <th>编号</th>
      <th>标题</th>
      <th>价格</th>
      <th>销量</th>
      <th>操作</th>
    </tr>
    <tr v-for="p in arr">
      <td>{{p.id}}</td>
      <td>{{p.title}}</td>
      <td>{{p.price}}</td>
      <td>{{p.saleCount}}</td>
      <td><a href="javascript: void(0)" @click="del(p.id)">删除</a>
<!--        元素的属性里面出现变量 需要进行属性绑定-->
        <a :href="'/update.html?id='+p.id">修改</a>
      </td>
    </tr>
  </table>
</div>

<script src="js/vue.js"></script>
<script src="js/axios.min.js"></script>

<script>
  let v = new Vue({
    el:"table",
    data:{
      arr:[]
    },
    created:function (){
      //Vue自带的方法created
      //此方法是Vue对象创建时执行的方法 一般会把加载完页面请求数据的代码写在此方法中
      //发出异步请求获取数据
      axios.get("/select").then(function (response){
        //服务器返回的数据直接给到arr数组 页面和数据进行了绑定 数组值会自动发生改变
        //接收到服务器发送来的二进制编码,转换为JSON格式的字符串
        v.arr = response.data
      })
    },
    methods:{
      del(id){
        //response可以叫任意名 这里不需要传值所以可以不写
        //查询和删除用get 修改和插入(insert)用post
        axios.get("/delete?id="+id).then(function (){
          alert("完成删除!");
          location.reload();
        })
      }
    }
  })
</script>
</body>
</html>